/**
 * 获取文件类型
 * @param name 文件名称
 * @returns 
 */
export const getFileType = (name: string) => {
    if (name) {
        const index = name.lastIndexOf('.');
        return index >= 0 ? name.slice(index + 1).toLowerCase() : '';
    } else {
        return '';
    }
};


/**
 * 获取文件名称
 * @param name 文件名称
 * @returns 
 */
export const getFileName = (name: string) => {
    if (name) {
        const index = name.lastIndexOf('.');
        return index >= 0 ? name.slice(0, index) : '';
    } else {
        return '';
    }
};

/**
 * 根据文件名获取文件类型
 * @param  name 文件名称
 * @returns
 */
export const getFileTypeWithExt = (name: string) => {
    if (name) {
        const index = name.lastIndexOf('.');
        let ext = index >= 0 ? name.substr(index + 1) : '';
        ext = ext.toLowerCase();
        if (['jpg', 'png', 'jpeg', 'bmp', 'ico', 'gif'].includes(ext)) {
            return 'image';
        } else if (ext === 'psd') {
            return 'psd';
        } else if (ext === 'tif') {
            return 'tif';
        } else if (['mp4', 'm2v', 'mkv', 'rmvb', 'wmv', 'avi', 'flv', 'mov', '3gp'].includes(ext)) {
            return 'video';
        } else if (['mp3', 'wma', 'wav'].includes(ext)) {
            return 'audio';
        } else if (['xlsx', 'xls'].includes(ext)) {
            return 'excel';
        } else if (['doc', 'docx'].includes(ext)) {
            return 'word';
        } else if (['rar', 'zip', '7z', 'tar', 'iso', 'dmg'].includes(ext)) {
            return 'archive';
        } else if (ext === 'pdf') {
            return 'pdf';
        } else if (['ppt', 'pptx'].includes(ext)) {
            return 'ppt';
        } else if (['txt', 'text'].includes(ext)) {
            return 'text';
        } else if (['html'].includes(ext)) {
            return 'html';
        }
    }
    return '';
};
// 转成file文件
export const dataURLtoFile = (dataurl, filename) => {
    const arr = dataurl.split(',');
    const mime = arr[0].match(/:(.*?);/)[1];
    const bstr = atob(arr[1]);
    let n = bstr.length;
    const u8arr = new Uint8Array(n);
    while (n--) {
        u8arr[n] = bstr.charCodeAt(n);
    }
    return new File([u8arr], filename, { type: mime });
};